#ifndef CASILLERO_H_
#define CASILLERO_H_

//#include "Imprimible.h"
#include "Contenido.h"

class Casillero /* TRAE PROBLEMAS, PORQUE ? NOSE !!: public Imprimible*/{

	private:

		int fila;
		int columna;
		Contenido* contenido;
	public:

		Casillero(){
			this->fila = 0;
			this->columna = 0;
			this->contenido = 0;
		}

		Casillero(int fila, int columna){
			this->fila = fila;
			this->columna = columna;
			this->contenido = 0;
		}

		Casillero(int fila, int columna, Contenido* contenido){
			this->fila = fila;
			this->columna = columna;
			this->contenido = contenido;
		}

		int getFila(){
			return this->fila;
		}

		int getColumna(){
			return this->columna;
		}

		Contenido* getContenido(){
			return this->contenido;
		}

		void setPosicion(int fila, int columna){
			this->fila = fila;
			this->columna = columna;
		}

		void setContenido(Contenido* contenido){
			this->contenido = contenido;
			this->contenido->setPosicion(this->getFila(), this->getColumna());
		}

		void imprimir(){
			this->contenido->imprimir();
		}

		void imprimir2(){
			this->contenido->imprimir2();
		}

		~Casillero(){
			if(this->contenido)
				delete this->contenido;
		}
};

#endif